முக்கிய வேறுபாடுகள்
Node.js மற்றும் உலாவிகள் இரண்டும் JavaScript ஐ இயக்கும், ஆனால் அவை வெவ்வேறு சூழல்கள் மற்றும் திறன்களைக் கொண்டுள்ளன.
Node.js சேவையக-பக்க உருவாக்கத்திற்காக வடிவமைக்கப்பட்டுள்ளது, அதே நேரத்தில் உலாவிகள் கிளையண்ட்-பக்க பயன்பாடுகளுக்காக உள்ளன.
APIகள்
Node.js கோப்பு முறைமை, நெட்வொர்கிங் மற்றும் OS க்கான APIகளை வழங்குகிறது, இது உலாவிகள் வழங்காது.
உலாவிகள் DOM, fetch மற்றும் UI APIகளை வழங்குகின்றன, இவை Node.js இல் கிடைக்காது.
உலகளாவிய பொருள்கள்
Node.js global ஐப் பயன்படுத்துகிறது; உலாவிகள் window அல்லது self ஐப் பயன்படுத்துகின்றன.
தொகுதிகள்
Node.js CommonJS (require) மற்றும் ES தொகுதிகள் (import) பயன்படுத்துகிறது; உலாவிகள் ES தொகுதிகள் அல்லது plain <script> குறிச்சொற்களைப் பயன்படுத்துகின்றன.
பாதுகாப்பு
உலாவிகள் வரையறுக்கப்பட்ட அணுகல் கொண்ட sandbox இல் இயங்கும்; Node.js கோப்பு முறைமை மற்றும் நெட்வொர்க்கிற்கு முழு அணுகலைக் கொண்டுள்ளது.
நிகழ்வு வளையம்
இரண்டு சூழல்களும் நிகழ்வு வளையத்தைப் பயன்படுத்துகின்றன, ஆனால் Node.js க்கு டைமர்கள், செயல்முறை போன்றவற்றுக்கான கூடுதல் APIகள் உள்ளன.
சூழல் மாறிகள்
Node.js சூழல் மாறிகளை அணுக முடியும் (process.env); உலாவிகள் முடியாது.
தொகுப்பு மேலாண்மை
Node.js npm/yarn ஐப் பயன்படுத்துகிறது; உலாவிகள் CDNகள் அல்லது bundlers ஐப் பயன்படுத்துகின்றன.
எடுத்துக்காட்டுகள்
உலகளாவிய பொருள்கள்
Node.js
// Node.js
global.mylet = 42;
console.log(global.mylet); // 42
Browser
// Browser
window.mylet = 42;
console.log(window.mylet); // 42
கோப்பு அணுகல்
Node.js
// Node.js
const fs = require('fs');
fs.readFile('myfile.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
Browser
// Browser
// பாதுகாப்பு காரணங்களுக்காக அனுமதிக்கப்படவில்லை
HTTP கோரிக்கைகள்
Node.js
// Node.js
const https = require('https');
https.get('https://example.com', res => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => console.log(data));
});
Browser
// Browser
fetch('https://example.com')
.then(response => response.text())
.then(console.log);
தொகுதிகள்
Node.js
// Node.js (CommonJS)
const fs = require('fs');
// Node.js & Browser (ES Modules)
// import fs from 'fs'; // Node.js மட்டும், browser அல்ல
Browser
// Browser
// import _ from 'https://cdn.jsdelivr.net/npm/lodash-es/lodash.js'; // Browser
ஒப்பீட்டு அட்டவணை
| அம்சம் | Node.js | Browser |
|---|---|---|
| கோப்பு முறைமை அணுகல் | ஆம் | இல்லை |
| நெட்வொர்கிங் (TCP/UDP) | ஆம் | இல்லை |
| DOM அணுகல் | இல்லை | ஆம் |
| உலகளாவிய பொருள் | global | window/self |
| தொகுதிகள் | CommonJS/ESM | ESM/Scripts |
| சூழல் மாறிகள் | ஆம் (process.env) | இல்லை |
| பாதுகாப்பு | முழு OS அணுகல் | Sandboxed |
| தொகுப்பு மேலாண்மை | npm/yarn | CDN/Bundler |
பயிற்சி
Node.js உலகளாவிய பொருளை நிரப்ப சிறந்த விருப்பத்தைத் தேர்ந்தெடுக்கவும்:
______.mylet = 42;